#ifndef ESDL_render_h
#define ESDL_render_h

#include "sprite.h"

/**
 * @struct Render
 * @brief Render structure
 */
typedef struct EsdlRender {
    unsigned int frameRate; //!< The number of frame per second
    int updateTime; //!< The last time (in miliseconds) the program refresh the window
    int elapsedTime; //!< The number of miliseconds since the last window refresh
} EsdlRender;

typedef void (*EsdlRenderCallback)(int);

/**
 * @return The number of frame per second the program try to display
 */
unsigned esdlGetFrameRate();

/**
 * @brief Set the number of frame per second the program should try to display
 * @param unsigned int fps - The number of frame per second. Il 0, the program will try to refresh as fast as possible
 */
void esdlSetFrameRate(unsigned frameRate);

#endif

